home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-18 | 875 b | 48 lines | [TEXT/CWIE] |
- // FileInStream.h
-
- #ifndef FileInStream_h
- #define FileInStream_h
-
- #ifndef InStream_h
- #include "InStream.h"
- #endif
- #ifndef ParamBlockTask_h
- #include "ParamBlockTask.h"
- #endif
-
- class FileReadingPath;
-
- class FileInStream: public InStream,
- private ParamBlockTask
- {
- private:
- virtual void Launch();
- virtual void Kill();
-
- virtual void AtCompletion();
-
- enum { cacheBit = 16 };
- enum { noCacheBit = 32 };
-
- protected:
- virtual Task *NonblockingRead( Data );
- virtual Task *BlockingRead( Data );
-
- public:
- FileInStream();
- ~FileInStream() {}
-
- bool HasFile() const { return ioParam.ioRefNum != 0; }
- void SetFile( const FileReadingPath&, uint32 position = 0 );
- void ClearFile();
-
- uint32 Position() const;
- void SetPosition( uint32 p );
-
- void SuggestCaching();
- void SuggestNoCaching();
- void ClearCachingSuggestion();
- };
-
- #endif
-